package com.oa.hyperion.service;

import com.github.pagehelper.PageInfo;
import com.oa.hyperion.entity.assets.AssetsAllocation;
import com.oa.hyperion.entity.assets.AssetsGeneralLedger;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * author yuanchongwei
 * date 2022-1-18
 */
public interface AssetsAllocationService {

    /**
     * 新增
     * @param assetsAllocation
     */
    public void add(AssetsAllocation assetsAllocation);

    /**
     * 查询所有资产调拨信息
     * @return 资产调拨信息
     */
    public List<AssetsAllocation> getAllAllocation();

    /**
     * 查询
     * 根据资产id查询资产调拨信息
     * @param asset_id 资产id
     * @return 资产调拨信息
     */
    public List<AssetsAllocation> getAssetsAllocationByAssetId(int asset_id);

    /**
     * 查询
     * 根据拨出部门查询资产调拨信息
     * @param transfer_out 拨出部门
     * @return 资产调拨信息
     */
    public List<AssetsAllocation> getAssetsAllocationByTransferout(int transfer_out);

    /**
     * 查询
     * 根据拨入部门查询资产调拨信息
     * @param transfer_in 拨入部门
     * @return 资产调拨信息
     */
    public List<AssetsAllocation> getAssetsAllocationByTransferin(int transfer_in);

    /**
     * 查询
     * 根据经办人查询资产调拨信息
     * @param handler 经办人
     * @return 资产调拨信息
     */
    public List<AssetsAllocation> getAssetsAllocationByHandler(String handler);

    /**
     * 分页展示
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<AssetsAllocation> getByCondition(int pageNum, int pageSize);
}
